2024.07.04:
* new: git_cleanup_original_refs.sh, git_cleanup_replace_refs.sh: standalone scripts to cleanup all `refs/original/refs` and `refs/replace` references respectively
* changed: git_cleanup_filter_branch.sh, git_cleanup_filter_repo.sh: common implementation

2024.07.04:
* new: git_filter_branch_remove_paths.sh: `ENABLE_GIT_FILTER_REWRITE_DEBUG` environment variable to debug each commit rewrite
* changed: git_filter_branch_remove_paths.sh: renamed flag `S` to lowercase `m`, `I` to lowercase variant (to highlight that these are not an option with the argument)
* changed: git_filter_branch_remove_paths.sh: use `.git-filter-cache` temporary directory instead of `.git-rewrite/filter-cache` to reuse the filter output after the `git filter-branch ...` command exit

2024.07.04:
* fixed: git_init.sh: minor fixup

2024.07.03:
* fixed: git_filter_branch_remove_paths.sh: `.gitignore` synchronization must use new graph (mapped) parent commits instead of old graph

2024.07.03:
* new: git_filter_branch_remove_paths.sh: `--sync-gitignore-submodule-paths`, `-I` flags to synchronize `.gitignore` for paths removed from `.gitmodules`

2024.07.02:
* fixed: git_filter_branch_remove_paths.sh: missed to use `git rm --cached ...` in case of `--i2` flag
* fixed: git_filter_*_remove_paths.sh: made last `<cmdline>` separator `//` required to avoid accidental usage of `<cmdline>` as a path list parameter
* new: git_filter_branch_remove_paths.sh: `--remove-submodules`, `-S` flags to remove submodules using `.gitmodules` file
* new: git_filter_branch_remove_paths.sh: `--skip-submodule-path-prefix`, `-P` options to skip paths remove from `.gitmodules` file
* changed: vcstool/git_gen_gitmodules.sh: minor improvements
* refactor: vcstool/git_gen_gitmodules.sh: minor cleanup

2024.07.01:
* changed: git_filter_branch_remove_path*.sh, git_filter_repo_remove_path*.sh: merged into `git_filter_branch_remove_paths.sh` and `git_filter_repo_remove_paths.sh` scripts respectively, single path script variant is removed

2024.06.28:
* fixed: `unset` in a function does unset a local variable and exposes an outer variable with the same name

2024.06.28:
* changed: git_init.sh: added `gitflic.ru` and `gitea.com` usage examples

2024.06.26:
* refactor: vcstool/git_gen_gitmodules.sh: cleanup

2024.06.20:
* new: TODO.txt: todo file

2024.06.12:
* changed: git_pull_remotes.sh: move `from-remote` parameter to the beginning if equal to `default-remote`

2024.06.10:
* new: vcstool/git_gen_gitmodules.sh: `--allow-update-on-sparsed-submodules` flag to avoid `update = none` option in the output file for a sparsed checkout submodule (avoids recursion in `git submodule update --init --recursive` command)
* new: vcstool/git_gen_gitmodules.sh: `-u` flag as short version of `--gen-submodule-name-from-url` flag
* changed: vcstool/git_gen_gitmodules.sh: removed `shallow = true` option generation

2024.06.09:
* new: vcstool/git_gen_gitmodules.sh: `--allow-fetch-recursion-on-sparsed-submodules` flag to avoid `fetchRecurseSubmodules = false` option in the output file for a sparsed checkout submodule

2024.06.08:
* changed: vcstool/git_gen_gitmodules.sh: `--gen-submodule-name-from-url` implementation improvement

2024.06.08:
* new: vcstool/git_gen_gitmodules.sh: `--gen-submodule-name-from-url` flag to generate submodule name from `url` field instead of `repositories` key values
* new: vcstool/git_gen_gitmodules.sh: `-a` flag to append to output file name from `<output-file-name-prefix>` as complete name (not prefix)
* new: vcstool/git_gen_gitmodules.sh: `-t` flag to append next found files except the first found file (tail files)
* refactor: minor refactor

2024.06.08:
* fixed: git_bare_config_*_rewrite.sh, git_filter_branch_update_file_text.sh: cygwin workaround
* new: vcstool/git_gen_gitmodules.sh: script to generate `.gitmodules` file from `vcstool` repositories file
* refactor: `subgit` and `transcrypt` scripts moved into subdirectories

2024.05.24:
* changed: minor improvement

2024.05.16:
* changed: README_EN.txt: readme update

2024.05.16:
* new: README.md: markdown readme file
* changed: license.txt: copyright year as project born year

2024.03.07:
* changed: README_EN.txt: readme update

2024.03.07:
* changed: git_init.sh: added `gitverse.ru` usage example

2024.02.20:
* new: git_filter_branch_update_file_text.sh: `--sed-expr-prefix`, `--sed-expr-begin`, `--sed-expr-end` to override all parts of the sed generic expression

2024.02.02:
* fixed: git_filter_branch_update_file_text.sh: `find: ‘...’: No such file or directory` error

2024.02.02:
* fixed: missed trim of trailing line feed characters
* fixed: paths insensitive comparison in `detect_find` function

2024.01.07:
* fixed: README_EN.txt: readme fixup
* changed: git_sync_remotes.sh: removed implicit `--tags` argument from the push command line

2024.01.02:
* refactor: rename `git_*_cleanup.sh` scripts to `git_cleanup_*.sh`

2023.12.31:
* fixed: git_sync_remotes.sh, git_pull_remote*.sh: minor fixup
* new: git_sync_remotes.sh: added `--current-branch` flag to synchronize only a current branch

2023.12.31:
* fixed: git_gen_*.sh: execution fixup, somehow missed trailing line return

2023.12.31:
* refactor: shortcut functions rename

2023.12.31:
* new: git_transcrypt_textconv_cleanup.sh: script to complete the last operation and cleanup artefacts after using Git transcrypt extension (https://github.com/elasticdog/transcrypt)

2023.12.30:
* changed: git_unmirror_refs.bat: moved from `contools` project

2023.12.30:
* fixed: git_pull_remote*.sh: execution fixup
* changed: git_sync_remotes.sh, git_pull_remote*.sh: replaced `git pull` by `git fetch` to avoid checkout of not current branches

2023.12.30:
* new: git_pull_remote_all.sh: added script to pull all branches from a remote
* new: git_pull_remotes.sh: added script to pull all remotes

2023.12.30:
* changed: git_sync_remotes.sh: always pull and push current branch at first

2023.12.28:
* new: git_sync_remotes.sh: added `<push-cmd-line>` argument list to use the rest of command line in each push command

2023.12.28:
* fixed: README_EN.txt: readme fixup

2023.12.28:
* fixed: git_sync_remotes.sh: git error `fatal: Cannot fast-forward to multiple branches.`

2023.12.25:
* new: git_sync_remotes.sh: added script to pull local branches from the input remote and push them into the list of remotes

2023.12.24:
* new: extracted scripts and changelog file from `tacklelib` project
* new: README_EN.txt: readme file
* new: license.txt: license file

===============================================================================

2023.12.20:
* new: git_subgit_svn_import_cleanup.sh: script to complete the last operation and cleanup artefacts after using `subgit import ...` command (https://subgit.com/documentation/howto.html#import)
* new: git_subgit_svn_import_cleanup_remote.sh: script to complete the last operation and cleanup artefacts after using `subgit import ...` command in the remote (https://subgit.com/documentation/howto.html#import)

2023.12.18:
* changed: more examples

2023.12.18:
* new: git_filter_repo_replace_commit_msg.sh: added `-use-re-sub` flag and `-re-sub-flags <re-sub-flags-python-expr>` option to be able to use regular expression instead of raw substring replace

2023.11.09:
* new: git_init.sh: script to initialize a git repository and all common properties

2023.09.18:
* fixed: git_filter_branch_update_file.sh: missed change

2023.08.17:
* fixed: git_bare_config_deny_rewrite.sh: missed change

2023.06.28:
* changed: git_filter_branch_*.sh: details fixup

2023.06.03:
* fixed: git_bare_*.sh, git_filter_branch_update_file_text.sh: portable `find` utility detection behind `$SYSTEMROOT\System32\find.exe`
* changed: git_filter_branch_update_file_text.sh: added `<dir>` positional required parameter to pass parameters to `find` utility as is
* changed: git_filter_branch_update_file_text.sh: added `--esc-sh-chars` option to explicitly escape shell control characters

2023.06.02:
* fixed: git_filter_branch_update_file.sh: execution fixup

2023.06.02:
* new: git_filter_branch_remove_path*.sh: script to remove file or directory in a single commit (last commit) or multiple commits (first commit(s)) using `git update-index --index-info`, `git update-index --remove` or `git rm`
* changed: git_filter_branch_update_file.sh: added flag `-f`
* changed: git_*.sh: scripts improvements and fixup

2023.05.26:
* fixed: git_filter_repo_shrink_commit_msg_first_line_returns.sh: execution fixup

2023.05.24:
* changed: git_filter_repo_cleanup.sh: more details

2023.05.24:
* changed: git_filter_repo_remove_path*.sh: added usage of `--partial` flag by default
* changed: git_filter_repo_remove_path*.sh: more details

2023.05.23:
* fixed: git_filter_branch_update_file_text.sh: workarounded sed to enable it to match multiline text
* new: git_filter_branch_update_file_text.sh: added `-E` and `-r` flags to enable sed to use extended regular expression
* changed: git_filter_branch_update_file*.sh: more details

2023.05.22:
* changed: git_filter_branch_update_file.sh: more details

2023.05.20:
* fixed: git_filter_branch_update_file_text.sh: workarounded line returns reformat in Windows by `sed`

2023.05.20:
* new: git_filter_branch_update_file_text.sh: script to replace file text in a single commit (last commit) or multiple commits (first commit(s)) using `git filter-branch --tree-filter` with `find` and `sed`

2023.05.20:
* changed: git_filter_repo_*.sh: added direct documentation link

2023.05.20:
* changed: git_filter_branch_update_file.sh: more details

2023.05.19:
* fixed: git_filter_branch_update_file.sh: minor fixup
* changed: git_filter_branch_update_file.sh: more details

2023.05.18:
* changed: git_filter_*.sh: minor details

2023.05.18:
* new: git_filter_branch_update_file.sh: script to add or replace file in a single commit (last commit) or multiple commits (first commit(s)) using `git update-index --add`

2023.05.18:
* new: git_filter_repo_shrink_commit_msg_first_line_returns.sh: added `-r1` flag to leave one more line return after the first line

2023.05.17:
* changed: git_*.sh: replaced call to `git-filter-repo` script by call to `git filter-repo` command

2023.05.02:
* new: git_gen_commit_hash.sh: added `-p` flag to additionally generate and print parent hashes

2023.04.30:
* new: git_gen_revlist_commit_hashes.sh: added `-r` flag to execute `git replace --graft <commit> <parents>` for all commits with not equal hashes

2023.04.30:
* new: git_gen_commit_hash.sh, git_gen_*_commit_hashes.sh: scripts to generate commit hashes and compare with existing hashes to detect commits inconsistency after history rewrite by `git filter-repo` command

2023.04.20:
* fixed: git_filter_repo_shrink_commit_msg_first_line_returns.sh: execution fixup

2023.04.20:
* fixed: return exit codes from single calls
* new: git_filter_repo_replace_commit_msg.sh: added script to replace commit message from all commits in a repository using `git-filter-repo` script
* refactor: git_filter_repo_*.sh: minor refactor

2023.04.20:
* changed: git_filter_repo_shrink_commit_msg_first_line_returns.sh: imply `--partial` flag by default to avoid remove the origin remote

2023.04.20:
* new: git_filter_repo_shrink_commit_msg_first_line_returns.sh: added `git_filter_repo_shrink_commit_msg_first_line_returns.sh` script to shrink first line returns (remove all line returns before the first line and shrink repeating line returns after the first line) from all commits in a repository using `git-filter-repo` script
* new: git_filter_repo_remove_path_list.sh: added script to remove path list from all commits in a repository using `git-filter-repo` script
* changed: git_filter_repo_*.sh: use `call` prefix to print resulted command line into the stdout

2023.04.12:
* changed: examples

2023.04.04:
* new: git_bare_config_allow_rewrite.sh: added script to allow rewrite in a git bare repository or list of repositories
* new: git_bare_config_deny_rewrite.sh: added script to deny rewrite in a git bare repository or list of repositories
* new: git_filter_repo_cleanup.sh: added cleanup script after the `git-filter-repo` script execution
* new: git_filter_repo_remove_path.sh: added script to remove a path from all commits in a repository using `git-filter-repo` script

2023.02.26:
* new: git_filter_branch_cleanup.sh: added `git_filter_branch_cleanup.sh` script to cleanup artefacts after branch filtering with the `git_filter_branch_user.sh` script execution

2023.02.26:
* new: git_unmirror_refs.bat: added `git_unmirror_refs.bat` script to unmirror mirrored remote repositories
* new: git_unmirror_refs.sh: added `git_unmirror_refs.sh` script to unmirror mirrored remote repositories (port of `git_unmirror_refs.bat` script)
* changed: git_filter_branch_user.sh: rewrited for more accurate user match
* changed: README_EN.txt: description and usage examples is moved into the scripts

2023.02.20:
* fixed: git_filter_branch_lib.sh: minor fixup
* changed: README_EN.txt: readme update

2020.09.04:
* new: git filter-branch library + readme file
